Java 实例 - 方法覆盖


前面章节中我们已经学习了 Java 方法的重写,本文我们来看下 Java 方法覆盖的实现。

方法重载与方法覆盖区别如下:

以下实例演示了 Java 方法覆盖(Overriding)代码的实现:

/*
 author by itshubao.com
 Findareas.java
 */
public class Findareas{
   public static void main (String []agrs){
      Figure f= new Figure(10 , 10);
      Rectangle r= new Rectangle(9 , 5);
      Figure figref;
      figref=f;
      System.out.println("Area is :"+figref.area());
      figref=r;
      System.out.println("Area is :"+figref.area());
   }
}
class Figure{
   double dim1;
   double dim2;
   Figure(double a , double b) {
      dim1=a;
      dim2=b;
   }
   Double area() {
      System.out.println("Inside area for figure.");
      return(dim1*dim2);
   }
}
class Rectangle extends Figure {
   Rectangle(double a, double b) {
      super(a ,b);
   }
   Double area() {
      System.out.println("Inside area for rectangle.");
      return(dim1*dim2);
   }
}

以上代码运行输出结果为:

Inside area for figure.
Area is :100.0
Inside area for rectangle.
Area is :45.0